export {}

// 1. 联合类型
// 需求1: 一个变量, 可以是字符串/数字
let str: string | number
str = '张三'
str = 19
console.log(str)

// 需求2: 一个数组, 内容可以是字符串/数字/布尔
const arr1: (string | number | boolean)[] = ['张三', 18, true]
const arr2: Array<string | number | boolean> = ['张三', 18, true]
console.log(arr1, arr2)

// 2. 类型别名
// 通过 type关键词 给写起来较复杂的类型起一个其它的名字，用来简化和复用类型
type MyArr = (string | number | boolean)[]
const arr3: MyArr = ['张三', '李四', 18, true]
const arr4: MyArr = ['张三', 18, true]
console.log(arr3, arr4)

let test: number | string[] = 10
test = ['111', '张三']
console.log(test)
